﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыРегистровОснованийРегистраСвободныеОстатки
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"5a2f75b5-b5cc-40e2-aa7e-847dd172894e\", \"Представление\":\"ТоварыВРезервеНаСкладах\"}")]
		ТоварыВРезервеНаСкладах = 0,//Товары в резерве на складах
		[EnumMember(Value = "{\"Ссылка\":\"c57ccec6-0ec0-4429-927c-d486d6029fd2\", \"Представление\":\"ТоварыВРознице\"}")]
		ТоварыВРознице = 1,//Товары в рознице
		[EnumMember(Value = "{\"Ссылка\":\"3caba8e1-5170-4d6d-acca-2cc9b6935e5f\", \"Представление\":\"ТоварыКПередачеСоСкладов\"}")]
		ТоварыКПередачеСоСкладов = 2,//Товары к передаче со складов
		[EnumMember(Value = "{\"Ссылка\":\"c3fe7ef7-e0bf-4cf0-8b6f-02071a74a086\", \"Представление\":\"ТоварыНаСкладах\"}")]
		ТоварыНаСкладах = 3,//Товары на складах
	}
	public static partial class ВидыРегистровОснованийРегистраСвободныеОстатки_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ТоварыВРезервеНаСкладах = new Guid("7d847eaa-72d1-4e89-40e2-b5cc5a2f75b5");//Товары в резерве на складах
		public static readonly Guid ТоварыВРознице = new Guid("86d47c92-02d6-d29f-4429-0ec0c57ccec6");//Товары в рознице
		public static readonly Guid ТоварыКПередачеСоСкладов = new Guid("c92ccaac-93b6-5f5e-4d6d-51703caba8e1");//Товары к передаче со складов
		public static readonly Guid ТоварыНаСкладах = new Guid("07026f8b-741a-86a0-4cf0-e0bfc3fe7ef7");//Товары на складах
		public static ВидыРегистровОснованийРегистраСвободныеОстатки Получить(this ВидыРегистровОснованийРегистраСвободныеОстатки Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыРегистровОснованийРегистраСвободныеОстатки Получить(this ВидыРегистровОснованийРегистраСвободныеОстатки Значение, Guid Ссылка)
		{
			if(Ссылка == ТоварыВРезервеНаСкладах)
			{
				return ВидыРегистровОснованийРегистраСвободныеОстатки.ТоварыВРезервеНаСкладах;
			}
			else if(Ссылка == ТоварыВРознице)
			{
				return ВидыРегистровОснованийРегистраСвободныеОстатки.ТоварыВРознице;
			}
			else if(Ссылка == ТоварыКПередачеСоСкладов)
			{
				return ВидыРегистровОснованийРегистраСвободныеОстатки.ТоварыКПередачеСоСкладов;
			}
			else if(Ссылка == ТоварыНаСкладах)
			{
				return ВидыРегистровОснованийРегистраСвободныеОстатки.ТоварыНаСкладах;
			}
			return ВидыРегистровОснованийРегистраСвободныеОстатки.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыРегистровОснованийРегистраСвободныеОстатки Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыРегистровОснованийРегистраСвободныеОстатки Значение)
		{
			switch (Значение)
			{
				case ВидыРегистровОснованийРегистраСвободныеОстатки.ТоварыВРезервеНаСкладах: return ТоварыВРезервеНаСкладах;
				case ВидыРегистровОснованийРегистраСвободныеОстатки.ТоварыВРознице: return ТоварыВРознице;
				case ВидыРегистровОснованийРегистраСвободныеОстатки.ТоварыКПередачеСоСкладов: return ТоварыКПередачеСоСкладов;
				case ВидыРегистровОснованийРегистраСвободныеОстатки.ТоварыНаСкладах: return ТоварыНаСкладах;
			}
			return Guid.Empty;
		}
	}
}